interface IPerson {
    name: string
    age: number
}

const p = {
    name: "",
    age: 0,
    // 多了一个height属性
    height: 1.88

}
// 1.奇怪的现象一:
const obj = {
    name: "why",
    age: 19,
    // 多了一个height属性
    height: 1.88
}
// 定义info,类型是IPerson
const info: IPerson = obj

//2.奇怪的现象二:
function printPerson(person: IPerson) {

}
const baki = { name: "baki", age: 30, height: 1.88 }
printPerson(baki)


// 解释现象
// 第一次创建的对象字面量,称之为fresh(新鲜的)
// 对于新鲜的字面量,会进行严格的类型检测,必须要满足类型的要求(不能有多余的属性)
const obj2 = {
    name: "why",
    age: 18,
    height: 1.99
}

const P: IPerson = obj2


export { }